Vending System

ABSTRACT

An embodiment includes a system comprising a first vending machine (VM), the first VM comprising: an exterior chassis having a top, bottom, backside, front side, and first and second sides that couple the front side to the backside; a wireless short range communications node included in the chassis; and an actuator coupled to a compartment included in the chassis; wherein (a) the actuator provides a vended good to an aperture in the front side upon actuation, and (b) each of the front side and first and second sides includes no physically manipulatable consumer interface with which the consumer can control the first VM via direct physical manipulation of the first VM. Other embodiments are described herein.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/692,981, filed Aug. 31, 2017, which is a continuation of U.S. patentapplication Ser. No. 14/954,097, filed Nov. 30, 2015, now U.S. Pat. No.9,760,878, issued Sep. 12, 2017, which is a divisional application ofU.S. patent application Ser. No. 14/504,814, filed Oct. 2, 2014, nowU.S. Pat. No. 9,240,007, issued Jan. 19, 2016, which claims priority toboth (a) U.S. Provisional Patent Application No. 61/929,666, filed Jan.21, 2014, entitled “System for Centrally Controlled, Locally ManagedRemote Point of Sale Terminals Via Smartphone Applications,” and (b)U.S. Provisional Patent Application No. 61/886,231, filed Oct. 3, 2013,entitled “System for Centrally Controlled, Locally Managed Remote Pointof Sale Terminals Via Smartphone Applications.” The content of each ofthe above applications is hereby incorporated by reference.

TECHNICAL FIELD

An embodiment addresses vending systems and more specifically and insome embodiments, user/vending system interfaces and vendingoperator/vending system interfaces.

BACKGROUND

Historically, vending machines (VM) and other remote point of sale (PoS)terminals were required to be intelligent and self-sufficient devicesthat could operate autonomously. This was a simple task back in the eraof electro-mechanical based vending operations combined with simple coinacceptance. However, there have been several new trends in this industrythat have served to make these systems much more complicated. Examplesof these are the inclusion of wireless networking devices such asgeneral packet radio service (GPRS) or Wi-Fi modems, industry standardinventory and exception reporting such as data exchange (DEX), multipleproduct/multiple-package/multiple-price options that requireconfiguration of the machine. Probably the most complicating factor hasbeen the emergence of the cashless vending model. This single aspect hascaused the complexity and security of a VM to basically match that of aremote teller machine such as an ATM in order to protect consumer creditcard information.

This increasing complexity does provide useful advanced functionalityfor the machine but at the cost of significantly increasing the capitalequipment and recurring management costs for VMs while at the same timereducing the mean time between failures. In addition, the VMmanufacturers must develop new machine types to keep up with the featuredemands. This causes obsolescence of existing machines and requiressignificant new capital expenditure by the operators to bring newfeatures into an existing market.

BRIEF DESCRIPTION OF THE DRAWINGS

Features and advantages of embodiments of the present invention willbecome apparent from the appended claims, the following detaileddescription of one or more example embodiments, and the correspondingfigures. Where considered appropriate, reference labels have beenrepeated among the figures to indicate corresponding or analogouselements.

FIG. 1 includes a network architecture in an embodiment of theinvention.

FIG. 2 includes an application server in an embodiment.

FIG. 3 includes the vending device in an embodiment of the invention.

FIG. 4 includes a mobile application in an embodiment of the invention.

FIG. 5 includes a process for application installation in an embodimentof the invention.

FIG. 6 includes a process depicting a basic user experience in anembodiment of the invention.

FIG. 7 includes a process for creating a secure channel in an embodimentof the invention.

FIG. 8 includes a process for beacon discovery in an embodiment of theinvention.

FIG. 9 includes a process for manual discovery in an embodiment of theinvention.

FIG. 10 includes a process for radio frequency identification(RFID)/nearfield communication (NFC) discovery in an embodiment of theinvention.

FIG. 11 includes an embodiment for vending Device Exception/Alert in anembodiment of the invention.

FIG. 12 includes a process to remotely update a catalog/database in anembodiment of the invention.

FIGS. 13a-j depict a series of graphical user interfaces (GUI) thatprovide a user experience in an embodiment of the invention.

FIGS. 13k-m depict a series of GUis that provide a user experience in anembodiment.

FIG. 14 includes a virtual reward/gift conversion and delivery processin an embodiment of the invention.

FIG. 15 includes a process for remote delivery of gifted goods in anembodiment of the invention.

FIG. 16 includes a system for a retro-fitted traditional VM in anembodiment of the invention.

FIG. 17 includes a system for use with an embodiment of the invention.

FIG. 18 includes an embodiment of a Ul and a process for viewinginventory of disparate VMs.

FIG. 19 includes a “retrofit module” in an embodiment of the invention.

FIG. 20 includes a process of operation for a “retrofit module” in anembodiment of the invention.

DETAILED DESCRIPTION

In the following description, numerous specific details are set forthbut embodiments of the invention may be practiced without these specificdetails. Well known circuits, structures and techniques have not beenshown in detail to avoid obscuring an understanding of this description.“An embodiment”, “various embodiments” and the like indicateembodiment(s) so described may include particular features, structures,or characteristics, but not every embodiment necessarily includes theparticular features, structures, or characteristics. Some embodimentsmay have some, all, or none of the features described for otherembodiments. “First”, “second”, “third” and the like describe a commonobject and indicate different instances of like objects are beingreferred to. Such adjectives do not imply objects so described must bein a given sequence, either temporally, spatially, in ranking, or in anyother manner.

An embodiment includes a new model for remote point of sale terminalsthat reverses this trend of increasing complexity and costs in VMs bytaking advantage of the newfound ubiquity of wireless computing nodesthat can serve as mobile application platforms. In this model, all ormost business intelligence is removed from the VM and is transferredinto an interaction between a centralized computing node (e.g., cloudbased processing node (distributed or non-distributed) such as, forexample, a server) and a community of mobile computing nodes that areheld by the consumers at the point of sale.

As used herein, a computing node includes, for example, Smartphones,cellular phones, tablets, distributed and non-distributed computingnodes, notebooks, nodes in the “internet of things” (e.g., internetconnected thermostats and lighting fixtures/systems), spectacles withinternet connectivity, chronometers/watches with wireless connectivity,and the like.

In an embodiment VMs connect to the mobile computing nodes via aproximity-based wireless protocol that is a standard feature of modernmobile computing node devices. An application running on the mobilecomputing node communicates to the central server through, for example,3G/GPRS and/or Wi-Fi networking. This network forms a distributedapplication network for one or more VMs (e.g., an operator may operate afleet of VMs) yet centralizes all or most business intelligence andmanagement functionality to the server node/nodes. In addition, thisnetwork provides for distinct user identification (if desired and insome embodiments) as well as the ability for one-to-one marketingbetween consumer and brand. However, other embodiments may choose to notprovide distinct user architecture such that the user is identified as amember of an acceptable group but his or her 10 within that group is notuniquely identifiable (e.g., Enhanced Privacy 10 (EPIO)).

An embodiment includes architecture comprising a simple VM controller(VMC) that is generally equivalent in terms of complexity toconventional electromechanical servo devices. In other words, theembodiment includes a controller with the capacity to actuate andcontrol simple tasks of managing the environment of the machine (e.g.,cooling mechanism for the VM) and vending a product (e.g., actuation ofcontrols that make product accessible to the buyer). However, few or noother high-level functions (e.g., currency and/or credit acceptance,record keeping, telemetry, and the like) are performed by the VM.Consequently, only rudimentary electronic systems are present within theVM for these functions now performed on the server and/or mobilecomputing node.

While an embodiment includes little or no equipment to perform (e.g.,currency and/or credit acceptance, record keeping, telemetry, and thelike), such an embodiment include a single electronic interface, such asa Bluetooth Low Energy (BLE) transceiver (or the equivalent thereof). ABLE transceiver wirelessly receives command and control actions that arethen transferred to the VM. In an embodiment the VM is a standard VMwith a conventional multi-drop bus (MOB) based controller card withoutany coin and/or bill acceptors, without any cashless sales devices, andwithout any telemetry devices. Instead, there will be a single BLEtransceiver device that is attached to the MOB.

In an embodiment, the BLE device may be a very small, battery powereddevice that has reduced control functionality but still serves as anapplication endpoint. An embodiment includes a BLE device (e.g., iBeaconby Apple® Inc.) that transmits a proximity “beacon” signal, which isdetectable by compatible mobile computing node devices. The BLE devicecontinuously transmits this beacon and is therefore always ready for atransaction. The transmitted beacon signal is used to “awaken” thecorresponding application on a consumer's mobile computing node connectto the VM over the BLE wireless protocol. Once this data connection isestablished, the mobile computing node application serves as a clientendpoint for the sales transaction. The application sends requests tothe centralized server (e.g., via 3G and/or Wi-Fi) to identify thebuyer, authorize the sale, collect the funds, and display marketing orother promotional/loyalty information. Once authorized, the mobilecomputing node application instructs the BLE device in the VM to vendthe product.

The mobile computing node application can serve as the “dashboard” forthe transaction itself. Accordingly, an embodiment includes VM with nobuttons or user interface (UI) with which a user interacts to select agood. Such a VM may include no such Ul, but may still include a displaywhose interaction with the user is little beyond pure marketing. Alluser interaction for selecting a vended product in response to a userinitiated selection is between the consumer and the mobile computingnode application. In such an embodiment the VM is little more than acooler (for VMs that vend goods that need to be cooled) with anelectronic door or product lock mechanism for dispensing a good, underthe control of the BLE and mobile computing node application. As usedherein, a Ul is defined as the junction between a user and logicincluding an interface coupled to a set of commands or menus throughwhich a user communicates with the logic.

In an embodiment the BLE device collects and caches operationalinformation regarding that individual VM. This information may includealert/exception data, visits by technicians and product restockpersonnel, and/or any event data that occurs during the period of salesinactivity. This information will be relayed to the mobile computingnode application upon an established BLE connection with the mobilecomputing node. After this connection the information will be relayed toa central server by the mobile computing node application. All or someavailable information (e.g., physical location of the VM and/or user,user identification, and the like) will be collected by the applicationand forwarded to the central server with each transaction.

In a similar fashion, in an embodiment any information that the centralserver wishes to send to a specific VM may be formatted and cached onthe server (which may include one or more computing nodes) awaiting afuture consumer session with that VM. During that future session theserver will transmit the information to that specific mobile computingnode application, which will in turn relay that information to the VMitself. An example embodiment of this function would be updating thecontent of a marketing display for a VM or a cooling temperature forinventory within the VM. In the case of updating the marketing display,the server would format the desired display contents to accommodate adisplay included in the VM (e.g., consider resolutionspecification/capabilities of display in VM) and await a transactionsession. During his session, the content would be relayed to the VM viathe mobile computing node and BLE connectivity.

An embodiment includes a process for dynamic pricing and marketingactivities. Information regarding sales price, promotions, loyaltydiscounts, coupons, and the like are stored on the server on a VM by VMbasis (or group of VMs by group of VMs basis) and/or per consumer basis(or group of consumers basis) and are dynamically displayed in themobile computing node application at the instance of the sale event.

Many or all of the embodiments described above eliminate the need forindividual network connectivity for each VM. Instead, consumers opt intothis system by downloading and enabling the mobile computing nodeapplication. Their network attached mobile computing nodes then becomethe “backhaul” network (between the VM and server) for some or alltelemetry, sales authorization, marketing and loyalty programs, locationverification of the VM, and the like.

Many or all of the embodiments described above could scale upwards ordownwards in device and functional complexity. As mentioned above, theBLE device may be a small battery powered device. In an embodiment usingsuch a BLE device, the BLE device would be low cost and consideredalmost disposable. This would allow for a ubiquity of these BLE devicesacross a very large pool of remote assets. An example would be to enablemonitoring and user interaction for non intelligent drink and foodcooler/refrigerator devices. The use of the BLE device in thisembodiment serves to elevate the function of a simple cooler orrefrigerator to the role of a simple vending machine, albeit, anunconventional form of a VM. Proximity based mobile computing nodeapplication and central server monitoring for these devices will enableapplications such as remote machines and inventory management, useridentification, brand marketing, loyalty and rewards program.

An embodiment uses a BLE device with a “post mix” machine, which includemachines used in convenience stores and restaurants where thedrink/product is dispensed into a cup or container. An embodimentincludes placement in display materials that are used in retail storesand supermarkets. These promotional materials are enabled with a BLEdevice located inside the retail environment close to the product on theshelf. For example, the VM could be located in a store window on asidewalk where consumers may view a product in the store window (e.g.,after the store has closed for the evening) and nevertheless purchasethe product using the BLE enabled unit.

The addition of a BLE beacon to these use cases and the ability toactivate an associated mobile computing node application opens a widerange of marketing, loyalty, and social networking activities that wouldenable direct brand-to-consumer dialog but do this within theconsumer-to-seller/distributor environment. For example, an embodimentrelies upon a consumer behavior where the associated application is (1)loaded upon the consumer's mobile computing node, and (2) permission isgiven by that consumer to actively participate in this network. To guidethis behavior, there could be loyalty or promotional campaigns developedthat engage the consumer in a rewards-based system, thereby drivingtheir desire to participate. This is a natural application forgamification and rewards-based motivation.

An embodiment leverages the business logic of the vending transactionsuch that this simplified vending event could be natively integratedinto 3rd party mobile computing node applications (e.g., the applicationcould be an embeddable “widget” for 3rd party developer use). Forexample, an embodiment includes a licensing program that providesconsumers with the ability to win free products as a reward for gameplayor other social networking activity. A video game developer embeds thevending application into a game and establishes a system of rewards forgameplay achievements. The products that have been won may then bedelivered at the player's convenience at any time of day in any locationwhere there is a BLE enabled VM (or at specific locations of specificVMs located at, for example, a sponsor's location). Integration of theapplication with payment and/or loyalty systems and other back-officesystems would be through application program interface (API) connectionsfrom a central server.

Thus, many embodiments described herein include the use of opt-in agentsto create a back-haul network for remote telemetry and transactionsessions. Such a system transfers business intelligence logic andsubsystems out of the remote point of sale device and into externalmobile computing nodes. An embodiment includes a VM that is button-lessand cash/credit-less such that all consumer interaction with the VM isthrough a mobile computing node application and all (in someembodiments) financial transactions and/or authorizations take place incloud-based service providers.

An embodiment provides management of remote assets through anintermittent, proximity-oriented network. Instead of putting a modem inthe asset, the VM relies on the IP-connected mobile computing node to“encounter” the asset and then leverage that connection. For example, anembodiment includes a system of delivery for physical goods whereby theconsumer is in proximity to any remote delivery terminal. In such a casea user may win a reward on a video game during his commute on a train.Upon exiting the train the user may walk adjacent a VM whereby uses hisreward to vend a product from the VM.

An embodiment includes a system of tracking normalized consumptionand/or consumer behavior across some or all channels of consumptionthrough proximity-based telemetry. By enabling all outlets ofconsumption (e.g., vending, retail, restaurants, and the like) withwireless interaction devices, brands may achieve a newfound viewpointfor consumer behavior. Activities such as consumer analysis, productpromotion, and/or direct marketing are enabled with this system in acomprehensive “all channels” manner that was heretofore not possible.

FIG. 1 includes a network architecture in an embodiment of theinvention. Vending operator 100 is a vending operations entity. Forexample, this entity is responsible for creating and managing thevending network, creating and managing sales and marketing aspects ofremote PoS sales, maintaining stock levels, and/or collecting revenuesfrom operation. Payment Service 101 is an online payment service thatprovides direct consumer payment via credit card, loyalty program,closed loop (scrip) programs, and the like (e.g., PayPal® or an e-walletservice). Server 102 is a cloud based node (e.g., an internet residentapplication server) that contains management and control logic for thenetwork of FIG. 1. Mobile software application 104 interacts withelement 102 via, for example, standard HTTP/internet protocol whereelements 102 and 104 represent a distributed mobile application. Vendingdevice 103 (e.g., a VM) represents one of many vending devices or VMsthat comprise a portion of the vending network. Mobile Application 104represents the application resident coupled to (e.g., via the cloud) orin (e.g., resident in memory included within a chassis or package of themobile computing node) the consumer's computing node (e.g., Smartphone).Consumer 105 is a user (e.g., human, robot) interacting with element 104to locate, purchase, and obtain goods from the described system.Application Store 106 includes a delivery mechanism by which user 105downloads and installs element 104.

Various lines of communications are shown between entities of FIG. 1.Line of communication 116 enables delivery of element 104 to consumer105. Element 106 may be a third party application site as is applicableto the make/model of the mobile computing node that hosts application104. In an embodiment element 106 may be a private application siteintended for enterprise or private group usage. Line of communication117 represents the consumer interacting with element 104 via touchscreen Ul, voice commands, swipe/shake motions, and the like. Line ofcommunication 114 represents the wireless communications link(s) betweenelements 104 and 103. These may be Bluetooth®, BTL, Wi-Fi, NFC, and thelike. Line of communication 115 represents physical contact betweenelements 105 and 103 as goods are delivered (in embodiments when good isa physical item). Line of communication 113 represents online dialogbetween elements 104 and 102 in a client/server relationship. Standardmobile computing node data access methods (e.g., 3G/4G and/or Wi-Fi) maybe used along with standard internet protocols and transport. Line ofcommunication 112 is the online dialog between elements 101 and 112 withthe purpose of authorizing and settling the monetary aspect of vendingand retail purchases. This is a secure online service using industrystandard transaction protocols. Line of communication 111 is theadministration and management interface between elements 100 and 102.Configuration, management, and alert/exception reporting are done overthis interface. In an embodiment, business management, planning, andanalytics operations for the usage of the vending network of FIG. 1 takeplace over this interface. It is a standard internet/web protocol andtransport system in an embodiment. Line of communication 110 representsthe interaction between elements 100 and 101 to receive all payment andsettlement information for all sales performed in the network and uses astandard internet protocol and transport interface.

FIG. 2 includes an embodiment of vending server 102. In an embodimentapplication server 102 consists of several modules. Network Managementmodule 200 controls the logical and physical network of vending devices103 allowing for identification, configuration, and modification ofthese devices. User Management module 201 manages the subscription andlife-cycle state of consumers 105 as they interact with application 104and vending devices 103 (e.g., operation state as addressed in laterfigures such as FIG. 5). Device Management module 202 allows formanagement of a single vending device 103 from the standpoint ofinventory/stock, exceptions and errata, sales marketing performance, andthe like. Payment Management module 203 provides a reporting andreconciliation interface to the third party payment service 101.Inventory Management module 204 provides both reporting and analysis forcurrent inventory contained both within operator 100 resources(warehouse and fleet) as well as within the vending network of element103 devices. Field Operations (Ops) Management module 205 representsscheduling and control of all field service operations (e.g., schedulingtechnicians to restock certain vending devices 103 at certain times)needed to maintain stock and operation for the network of element 103devices. Marketing/Offer Management module 206 allows direct to consumermarketing and offerings to user 105 via interaction with element 104.Transaction Management module 207 represents a workflow and userinteraction manager that serves to define and control the userexperience of user 105 in conjunction with element 104 through theentire location, purchase, and delivery process of remotely purchasedgoods. Alert/Exception Management module 208 represents the collection,assignment of priority, and delivery of events and exceptions (e.g.,errors such as a lack of inventory in a vending device or amalfunctioning cooling system in a vending device 103) that occur withinthe vending network of FIG. 1. Ops/Reporting Database module 209represents the online storage of transactional information, operationsinformation, as well as providing business analytics reporting.

FIG. 3 includes an embodiment of vending device 103. In an embodimentvending device 103 is a stand-alone microprocessor controlledelectromechanical device including various subsystems/module as follows.Proximity Detector module 300 (e.g., BLE beacon) detects the presenceand relative distance of mobile computing node devices that have beenenabled with application 104. Wireless Communications module 301 enablessecure, authenticated, wireless communication dialog between elements103 and 104. Element 103 has wireless communication systems and may onlycommunicate to an enabled and nearby (e.g., within 450 meters) instanceof element 104. These wireless communications include things such asNFC, Bluetooth®, and the like. Application Controller module 302utilizes element 301 to provide application client functions to elements104 and 102 operating in concert with one another. Element 302 is not astand-alone intelligent device but instead operates only as aslave/client of elements 104, 102. Lock/Vend actuator 303 translatesapplication commands to physical electro-mechanical actions such astriggering a lock or solenoid/servo device to deliver a product to user105. “Inventory to Sell” module 304 represents the physical or logicalgoods being offered and sold to user 105 via the vending network ofFIG. 1. Element 304 may represent actual physical goods such asconsumable food/drink products or may represent virtual products such asmobile phone “minutes”, transportation tokens, and the like. In the caseof the latter, element 103 serves to limit access to the delivery methodof the virtual good. An example of this would be a virtual gooddelivered by a one-time use quick response (QR) code, which is containedand/or managed by element 103 as an embodiment of element 304. Forexample, device 103 may include a display that displays a QR code (afterpurchase) that includes keying material that unlocks additional cellularphone minutes, access to movies on the node running application 104, andthe like.

FIG. 4 includes an embodiment of mobile application 104. MobileApplication 104 is logic (e.g., a computer application) that resideswithin a computing node (or couples to a computing node) and utilizesthe services present in the computing node (e.g., 3G/4G Smartphone).Application 104 consists of the following subsystems/modules in anembodiment. Proximity Detection module 400 utilizes a wireless beacon orother signal to detect the presence of vending devices 103 as theconsumer 105 and application 104 approach the vending network (e.g.,vending device 103). Module 400 identifies individual device 103 unitsand selects and establishes a dialog with any discreet device 103 itencounters. Subscription/Credential Management module 401 enablesconsumer 105 to manage and maintain all configuration (e.g., keys,passwords) and preference settings for usage within the vending networkof FIG. 1. Application Logic module 402 manages the transactionlife-cycle of user 105 throughout all phases of usage of the vendingnetwork of FIG. 1 (e.g., retains state of node upon which application104 operates during a vending operation). Module 402 manages wirelesscommunications and application state for communication with element 102(e.g., via 3G/4G communications) as well as wireless control of aninstance of element 103 (e.g., Bluetooth®) via module 403 during theremote PoS action. Wireless Application Controller module 403 performsdirect control of element 103 via modules 301 and 302. Module 403 is the“master” role to the “slave” role of element 103 and performs layers ofapplication logic (e.g., wireless protocol, identity, security, user anddevice location, logical commands and operations, and the like). PaymentCredentials and Application module 404 represents the credentials (e.g.,account information) of the individual/group of individuals (e.g., afamily that shares a group key) 105 as they relate to the third partypayment service 101.

FIG. 5 includes a process for application 104 installation onto acomputing node in an embodiment of the invention. Mobile application 104is installed onto the user's mobile computing node based upon consumerdemand. The service will be marketed and new users will be directed tothe application store 106 that is applicable to the specific mobilecomputing node manufacturer. Consumer 105 will initiate the download andinstall of the vending mobile application 104 by using standardpractices (element 501) of the application store 106. Once installedconsumer 105 starts application 104 and begins to complete all requiredinformation for operation (element 502). This may include user identity(ID), preferences, and social networking information. The next phase ofconfiguration allows consumer 105 to create online purchase credentials(element 503) with internet based payment service 101. In an embodimentthese credentials are not stored in 104. Service 101 provides an APIthrough which user 105 interacts with elements 104 and 101. For example,at element 504 application 104 creates and validates payment accountinformation with service 101. At successful conclusion of element 504,element 105 has a validated account within element 101 that may be usedto authorize purchases and settle funds for such purchases online. Uponsuccessful payment validation, element 104 creates and enables a serviceaccount (element 505) for user 105 within the vending service provider102. Successful service account creation (element 506) results ingraphical and/or audio feedback (element 507) provided by element 104 touser 105 and the initiation of service within the vending system.Application 104 engages roving service (element 508) whereby application104 enters proximity detection mode/state until the presence of vendingdevices 103 is detected (e.g., device 103 awakens application 104).

FIG. 6 includes a process depicting a basic user experience in anembodiment of the invention. After device 103 discovery by vendingdevice/machine 103, vending device 103 and mobile application 104 enterinto Device Discovered state (element 601) and establish a securecommunications channel (element 602) as described elsewhere herein(e.g., using a Diffie-Hellman based key exchange technique). For thepurposes of description of this embodiment, it is assumed only a singledevice 103 has been discovered but the description also applies to theprocessing of multiple devices 103 (i.e., device 103 may be in DeviceDiscovered state with more than one device 103 at the same time).Element 104 requests the device information record (element 603) fromelement 102. This record contains pertinent information regardingelement 103, such as inventory on hand, pricing, marketing/advertisingcontent, and the like. When element 104 makes this request, the requestincludes ID information for user 105. Element 102 uses this userinformation to generate preferences, user messaging, or otherpersonalization information for user 105. Some or all of the requestedinformation is returned (element 604) to element 104 by element 102.Element 104 then utilizes the received information to present productoffering(s), loyalty/preference suggestions, marketing/advertising, andthe like to user 105 (element 605). An embodiment of this operation isdescribed in, for example, FIG. 13. Ultimately, user 105 makes a productselection for purchase, chooses the desired payment method, and proceedsto “checkout” (element 606), which is the actual purchase event. Element104 formats an online payment transaction in the format of the requestedpayment method and sends this transaction to the online payment gatewayfor element 101 (element 607). Element 101 then processes the paymentrequest and returns either “authorized” or “not authorized” status. Forthis description, it is assumed that element 101 returns “authorized”status to element 104 (element 608). Upon receipt and validation of thepayment authorization by element 104 a delivery/vend actuation command(element 609) is sent to element 103 (from application 104) to deliverthe physical goods. Note that element 609 will be specific to the typeof device 103 and to the type of goods delivered. For the purposes ofthis description, element 609 is considered to be a remote command tounlock a door or drawer that contains the product to be purchased (or inother embodiments, for example, display a QR with purchased contentencoded therein, and the like). Upon receiving actuation command(element 609), element 103 performs the action requested and the productis delivered (element 610) and its delivery is validated by element 103.This validation may occur in several forms. In an embodiment element 103has an array of sensors, such as optical sensors or weight measurementsensors, which detect product removal from 104. User 105 receives goods(element 610) and the validate delivery status is relayed (element 613)by element 103 to element 104. Element 104 formats a complete salessession and transaction record and transmits (element 611) thisinformation to element 102. Element 102 utilizes this information toupdate all information (element 614) related to elements 105, 104, 103,101. This portion of the process ends with element 104 displaying aConfirmation/Thank You userinterface (UI) to user 105 (element 612)after which, all devices return to normal state.

FIG. 7 includes a process for creating a secure channel in an embodimentof the invention. Application 104 and vending device 103 require asecure communication channel (element 702) to exchange purchase andmonetary information with each other. In an embodiment there is also theneed for a persistent insecure channel which will be used to enable keyexchange and the creation of the secure channel. The following sequencemay be used for technology (e.g., BLE) where services may be definedsuch that a secure service and an insecure service are provided. In anormal state, element 103 will advertise (over insecure channel 701) alocally stored unique identifier (UUID). As application 104 remains inProximity Detect mode and appears within signal range of an element 103device(s), element 104 will detect the UUID advertisement upon closeproximity (element 703) to device 103. Element 104 will validate theformat of the UUID and generate a cryptographic nonce value. Element 104will relay the nonce to element 103 via the insecure channel (element704). At that point, both element 103 and element 104 will independentlygenerate a key value using the UUID, the nonce, and a proprietaryhash/encode (elements 705, 706). The logic of this method represents ashared secret between elements 103 and 104 and will result in theidentical key value being generated independently by elements 103 and104. Various embodiments may use varying protocols to generate symmetrickeys (e.g., Diffie-Hellman, SIGn and MAc (Sigma), and the like). At thispoint, elements 103 and 104 may begin using secure channel 702 byutilizing the derived keys to encrypt payloads for all traffic over thisservice (element 708) using, for example, Advance Encryption Standard(AES) and the like. Note that insecure payloads may be exchanged viachannel 701 at any time (element 707). Element 104 may also regeneratethe nonce value and resend the key generation command. This allows forincreased security by allowing a rolling key value based on time orother event information.

FIG. 8 includes a process for beacon discovery in an embodiment of theinvention. Vending device 103 may be discovered and/or located byapplication 104 in one of several methods. Note that each of thesemethods may serve to discover one or more devices 103. This means thatupon Device Discovery state completion, element 104 may have a list ofone or more devices 103 that have been discovered.

In an embodiment, vending device 103 contains a low-level wirelessbeacon service that is used to detect and enable device discovery.Consumer 105 is in possession of a computing node (e.g., Smartphone)with an executing instance of element 104. As user 105 enters the beaconsignal range of element 103, element 104 detects and validates thebeacon signature (element 801) to be a valid instance of element 103. Inresponse, element 104 activates and notifies user 105 that one or moreinstances of element 103 are nearby via a notification and selectionscreen and/or audio (element 802). User 105 acknowledges interest byselecting and/or confirming action (element 803). At this point, aspecific instance of 103 is associated with elements 104, 105 and hasbeen discovered (element 804).

FIG. 9 includes a process for manual discovery in an embodiment of theinvention. In an embodiment, manual discovery begins with consumer 105initiating the sequence. User 105 opens element 104 (element 901) andvia the Ul, initiates the search function (element 902) within element104. Element 104 makes a Discovery Request (element 903) to element 102.This request contains contextual information about user 105 and element104 such as GPS derived location, identity, and other search/discoverycriteria. Element 102 performs a search of devices 103 that best matchthe request and responds (element 904) with a subset of devices 103within the network. Element 104 presents this list to user 105 via theapplication Ul (possibly with a map and directions to various devices103) (element 905). User 105 responds to this by moving towards thenearest or desired 103 device (element 906). In an embodiment alldevices 103 are actively “beaconing” their UUID. Upon user 105 enteringthe near proximity of one or more of the devices 103, element 104recognizes and validates the beacon and UUID (element 907). Element 104presents a “Welcome” or “Completion” message to user 105 (element 908)and elements 104, 103 enter into Device Discovered state (element 909).

FIG. 10 includes a process for radio frequency identification(RFID)/near-field communication (NFC) discovery in an embodiment of theinvention. Devices 103 may be discovered by using the RFID/NFC deviceresident in a computing node (e.g., Smartphone) to initiate contact.User 105 is in close physical proximity with element 103 and begins bytouching or tapping (or placing in close proximity) the computing node(e.g., Smartphone) to the RFID reader device (element 1001) in element103. Element 103, in response, sends the standard RFID read command tothe node (element 1002). This initiates two actions: element 1003 startsapplication 104 running (or validates application 104 is running) in thecomputing node and element 1004 starts BLE service (or validates the BLEservice is started or running) Once elements 1003, 1004 are completed,element 103 transmits the UUID to element 104 (element 1005) and thesystem enters into Device Discovered state.

FIG. 11 includes an embodiment for Device Exception/Alert in anembodiment of the invention. Since vending device 103 contains notelemetry device capable of WAN communications (in some embodiments), asystem of cooperative relay of information is established betweenelement 103 and server application 102 as follows. Element 103encounters a local alert, exception, or other event (e.g., related toinventory or a cooling system for device 103) that should be relayed toelement 102. Element 103 captures information regarding the event aswell as ancillary data such as timestamp and other local conditions.Element 103 queues this event in local storage and possibly places theevent in a log with other queued events awaiting transfer. User 105encounters 103 through a normal course of action and enters into DeviceDiscovered state (element 1101) as described above. Elements 104 and 103establish a secure communications channel 1102 as described above. Uponthis connection, element 103 relays some or all queued information to104 (element 1103). Since this may not be a purchase-driven engagementfor user 105 a permission sequence is started where element 104 requestspermission to utilize the wireless (e.g., 3G/4G/Wi-Fi) network ofelement 104 to relay the information (element 1104). Upon permissiongranted (element 1105), element 104 begins a series of one or moretransactions (elements 1106, 1107, 1108) as needed based upon theexception or event from element 103. In an embodiment, a singletransaction is as follows. Element 104 transfers a queued event toelement 102 (element 1106), which processes the event. Element 102generates a response, which may contain status and/or commands intendedfor element 103 to execute. Element 102 relays this response to element104 (element 1107), which then transfers this information to element 103(element 1108). Optionally, the command may generate additionalinformation from element 103, which is relayed back to element 104(element 1111) and sequences 1106, 1107, 1108 will repeat until allcommands and statuses have been processed. Element 104 informs user 105of the completed operation with a Ul element (element 1109), which maybe combined with a reward for allowing element 104 to utilize the WANnetwork interface. All devices enter normal state upon completion(element 1110).

FIG. 12 includes a process to remotely update a catalog/database in anembodiment of the invention. Since the vending device 103 does notcontain a WAN communications device (in an embodiment), a system ofcooperative relay of information is established between elements 103 and102. When element 102 has the need to send a command, configuration, orother information to element 103, the sequence is as follows in anembodiment. Element 102, through user interaction or some time/eventbased logic, prepares a queued request (element 1201) that is destinedfor element 103. Element 102 maintains an individual queue for some orall devices 103 and the queue may contain several pending requests. User105 encounters element 103 through a normal course of action and entersinto Device Discovered state as described above. Elements 104 and 103enter into a secure communications state as described above (see FIG.7). Upon this connection, element 104 makes a standard Device Request ofelement 102 (element 1202). Along with the standard device information(e.g., sales inventory, pricing, and the like) element 102 samples theevent queue for the specific device 103. If there is information in thequeue, element 102 relays that information to element 104 as a part ofthe response information (element 1203). Element 104 then delivers thequeued event information to element 103 (element 1204), which thenreturns a response to element 104 (element 1205). Element 104 returnsthe response data to element 102 (element 1206). Element 102 updates thedatabase and device catalog to reflect the delivery of the queued eventinformation as well as the response data (element 1207) and all devicesenter into normal state.

FIGS. 13a-j depict a series of GUIs that provide a user experience(e.g., see FIG. 6) in an embodiment. FIG. 13a depicts a user, who hasvending application 104 on his computing node, near a vending device 103(but unlinked or undiscovered by application 104). The application 104mentions “VB” which, for purposes of this discussion, is an abbreviationfor “vending box”. FIG. 13b depicts application 104 and device 103engaged in device discovery (e.g., see FIG. 8 or element 601 of FIG. 6)resulting in elements 103, 104 successfully discovering one another andeach entering into Device Discovered state. FIG. 13c depicts application104 and device 103 engaging in creating a secure communication channelwith each other (e.g., see element 602 of FIG. 6 and generally FIG. 7).FIG. 13c shows “ID” passing between elements 103, 104, which isanalogous to block 703 of FIG. 7. FIG. 13d corresponds to element 603 ofFIG. 6 and FIG. 13e corresponds to element 604 of FIG. 6. FIG. 13fcorresponds to element 605 of FIG. 6. FIG. 13g shows how the sameapplication 104 may also engage a different device 103 (shown in FIG.13g as device “F” whereas FIG. 13c corresponds to device “A”). FIGS.13h, 13i, and 13j correspond to FIGS. 13d, 13e, and 13f but, again,relate to device “F” instead of device A. As a result, FIG. 13j shows asmaller choice of products (i.e., six available products for device Abut only five available products for device “F”). The smaller productoffering may indicate that a formerly available sixth product is now outof inventory so is no longer listed as an option. Also, the backgroundsfor FIGS. 13f and 13j differ from one another illustrating howpresentation and general marketing can vary from device to device orgroup of devices to group of devices.

FIGS. 13k-m depict a series of GUIs that provide a user experience(e.g., see FIG. 6) in an embodiment. FIG. 13k is analogous to either ofFIGS. 13f and 13j . However, FIG. 13l illustrates how product specificinformation may quickly be made available to the user based onup-to-date information (e.g., dynamic pricing whereby the $1.25 pricemay lower during “off” hours early in the morning to entice purchases).FIG. 13m illustrates a “Thank you” Ul alerting the user to upcomingproduct delivery.

FIG. 14 includes a virtual reward/gift conversion and delivery processin an embodiment of the invention. An embodiment enables a reward anddelivery mechanism that may be used to convert virtual rewards and/orgifts into physical goods and allow for the remote delivery of thesegoods remotely to the intended recipient. An example includes a userwinning a reward in a mobile video game and then receiving physicalgoods as he/she encounters a local delivery location. The user/player1406 interacts (element 1412) with a computing node (e.g., Smartphone)1405, which contains both a video game application 1404 as well as thevending mobile application 1414 (separate from one another in someembodiments and included one within the other in additionalembodiments). As user 1406 completes achievements in video game 1404,rewards are earned in return. Game 1404 may optionally report thisstatus (element 1407, which may be included in device server or viceversa in other embodiments) to game server 1401 or may report thisdirectly to element 1414 via an interprocess call, uniform resourceidentifier (URI) resolution, and the like (element 1409). In eithercase, vending server 1402 receives a credit token. In the case ofcontact from server 1401 a dialog between elements 1401 and 1402 isestablished (element 1408) and the token is exchanged. In the case ofdirect Application-to-Application contact, element 1414 receives theenablement from element 1404 and then element 1414 contacts element 1402directly via path 1410. Upon receipt of the token from either source,element 1402 validates the identification of user 1406, processes anyloyalty and/or reward policies or rules, and returns a validatedresponse to server 1401 and/or application 1414. Ultimately, element1404 receives an enablement notification and displays this status touser 1406 (element 1412) showing that user 1406 is entitled to receive aphysical goods delivery (or a non-physical good deliver, such as areward encoded within a bar code such as a 2D or 3D (holographic) QRcode) from the vending network. At this point, user 1406 may enter intoDevice Discovery state as described above. Upon device discovery, user1406 enters into the flow described in FIG. 6 “Basic User Experience”where flow continues normally until element 606. Instead of a paymentselection and checkout sequence, application 1414 displays a credit or“free” product delivery and eliminates elements 607, 608 since nopayment is required. Upon validation, application 1414 interacts withelement 1403 as normal to actuate and deliver the product (element1411). Element 1414 updates element 1402 upon completion (element 1410)and all devices enter into normal state.

FIG. 15 includes a process for remote delivery of gifted goods in anembodiment of the invention. An embodiment enables the secure,validated, remote delivery of physical goods (or a non-physical gooddeliver, such as a reward encoded within a bar code such as a 2D or 3D(holographic) QR code) from a “gift giver” entity to a “gift receiver”entity where these two parties are in different and even unknownphysical locations. An embodiment addresses the gift and reception ofphysical goods and proceeds as follows. Gift giver 1501 has a computingnode (e.g., Smartphone) 1504, which contains vending mobile application1505 (or a non-mobile version of the application operating on, forexample, a personal computer). Alternately, user 1501 may utilize nativebrowser 1515 within element 1504. In the case of application 1505, user1501 interacts with elements 1505 and 1507 (element 1506) to completeidentification, selection of user 1502 as the recipient, productselection to be gifted, and the like. Payment for the gifted goods isaccomplished via element 1517 where element 1505 uses stored credentialsof user 1501 to authorize payment of the goods using the payment gateway1516. In the case of element 1515, user 1501 interacts with a webapplication (analogous to application 1505 in terms of relatedfunctionality for processes of FIG. 15), which is served by element1507. Selection of user 1502 as the recipient, selection of product tobe gifted, and payment for product using element 1516 are allaccomplished via elements 1506, 1517 using standard HTTP/HTTPS webprotocol and web application technologies. In either case element 1507processes and stores a gift token in a database pending delivery to user1502. This action results in a transaction-complete UI delivered to user1501 and optionally a push notification being generated and delivered touser 1502 to announce the availability of the pending gift. User 1502has a computing node (e.g., internet connected spectacles or watch,Smartphone, and the like) 1510, which contains mobile application 1511(or couples thereto). User 1502 either receives the push notification orbecomes aware of the pending gift delivery upon starting element 1511.In either case user 1502 and element 1511 enter into Device Discoverystate described above. Upon device discovery, user 1502 enters into theflow described in FIG. 6 where flow continues normally until element606. Instead of a payment selection and checkout sequence, element 1511displays a “gift” product delivery and eliminates elements 607, 608since no payment is required (but those elements may still be employedif the gift only satisfies a portion of the cost of the to-be-vendedgood or service). Upon validation, element 1511 interacts with element1513 as normal to actuate and deliver the product (element 1512).Element 1511 updates element 1507 upon completion (element 1508) and alldevices enter into normal state. Optionally, element 1507 may generate anotification back to user 1501 upon delivery to user 1502 asverification.

FIG. 16 includes a system for a retro-fitted traditional VM in anembodiment of the invention. An embodiment allows for an existing set oftraditional VMs to be enabled for features discussed herein by“retro-fitting” module 1610 (which is novel and an embodiment of theinvention) into traditional VM architecture (see element 1601 for anexample of a traditional VM architecture). In the traditionalarchitecture, VM 1601 contains a series of peripherals that areconnected to a standard bus interface such as the Multi-Drop Bus (MOB)1603. These peripherals provide individual functions to VMC 1609 andtogether make up the full feature set of an individual machine. Theseinclude, without limitation, coin acceptor/change provider 1604,currency bill acceptor 1605, magnetic credit card swipe reader 1606,smart-card NFC/RFID reader 1607, and WAN telemetry device 1608. Withthis embodiment some or all of these components (e.g., elements 1603,1604, 1605, 1606, 1607, 1608, and/or 1609) may be removed and replaced(element 1611) with element 1602, having (in this embodiment) a MOB andattached module 1610. With the replacement of the components describedabove, element 1610 performs emulation of some or all functional commandand response information on the MOB of each of these replaced elements.In this mode, the VMC element 1609 does not require any modification oralteration and instead operates in the same mode as before thereplacement. The VMC element 1609 senses valid protocol on the MOB foreach component as element 1610 emulates that role. In this mode, fullfunctionality of the vending machine element 1601 is achieved but withfar fewer components. Note that the user experience and functionality isdifferent between elements 1601 and 1602 (e.g., basic stand-alonevending vs. mobile computing node (e.g., Smartphone) enabled vendingnetwork) but the basic VM unit is the same (e.g., in terms of storage ofinventory and servo-motors to open doors and distribute physical goods)and the vendor's investment in the traditional VM structure ispreserved. Element 1610 emulates some or all aspects of a stand-alonedevice 103 (see FIG. 1) by emulating the required set of MOB attachedperipherals to adequately control VMC 1609 by using MOB standardcommands. Some embodiments provide an additional interface betweenelements 1610 and 1609 beyond that which is provided through thestandard MOB. This interface 1612 may be used for direct control ofeither 1609 or 1602 as needed. This direct interface element 1612 mayinclude but not limited to a serial OEX interface, direct button/displaycontrol, temperature/thermostatic sense and/or control, compressorand/or lighting control, etc.

FIG. 19 includes a “retrofit module” in an embodiment of the invention.This figure addresses an embodiment of module 1610, addressed above withregards to FIG. 16. Module 1610 contains elements from an embodiment ofvending device 103 such as, for example, proximity detection module 300(see, e.g., FIG. 8), wireless communications subsystems and sessionestablishment module 301 (see, e.g., FIG. 7), as well as applicationcontroller 302, which is capable of being the slave module to mobileapplication 104. Embodiments of modules 300, 301, 302 and/or the processperformed by such modules are described above. In addition, anembodiment of module 1016 contains a National Automatic MerchandisingAssociation (NAMA) Standard MOB opto-electric interface 1901 (tointerface MOB 1603) as well as a device emulation library 1902 that iscapable of direct MOB-level emulation of industry specific MOBattachable devices. As an example, element 1902 contains logic and statemanagement capacity to directly emulate a physical coin acceptor device(or bill collector and the like) such that VMC 1609 recognizes logic1902 as such and interacts with logic 1902 (e.g., directly in someembodiments or indirectly via direct VMC interface module 1612 in otherembodiments) as if module 1610 were a true physical coin acceptordevice. In this manner, logic 1902 is able to simulate the presence of avariety of physical devices as is required to fully automate thefunction of the vending machine 1601 under the control of mobileapplication 104.

FIG. 20 includes a process of operation for a “retrofit module” in anembodiment of the invention. For example, FIG. 20 includes an embodimentof a sequence of events for a retrofit module in a traditional VM suchas the retro-fitted VM 1602. With retro-fit module 1610 the conventionalVMC 1609 requires no change of configuration to support this retrofitmode of operation. Module 1610 provides a simulated and/or emulatednative environment such that VMC 1609 operates as normal (i.e., as itwould with traditional VM components (e.g., coin acceptor, billacceptor, and the like) coupled thereto. The operations of FIG. 20 beginwith device discovery (e.g., FIG. 8), communications sessionestablishment (e.g., FIG. 7), product presentation (e.g., FIG. 6),product selection (e.g., FIG. 6), and payment authorization (e.g., FIG.6).

However, some differences do exist between the operation of vendingdevice 103 and the operation of a retrofitted VM using module 1610(i.e., system 1602 has differences in terms of operation from device104). For example, some differences lie in the interaction with atraditional MOB-based VM (e.g., VM 1601) that has been refitted withmodule 1610 (e.g., rendering VM 1602). As shown in FIG. 20, consumer 105initiates an authorized sale (element 2001) according to previouslydescribed series of events (e.g., FIGS. 6-8). Mobile application 104instructs module 1610 to dispense a product (element 2002). At thispoint, module 1610 begins a MOB emulation (element 2003) of a series ofstandard devices (e.g., elements 1604, 1605, 1606) such that VMC 1609“sees” a standard VM sequence known to those of ordinary skill in theart. In this example, element 1902 emulates the protocol and state of atraditional coin acceptor 1604 that has been presented with enoughcurrency to fulfill a sale. Other devices such as bill acceptors 1605,cashless devices 1606, RFIO token 1607 and/or closed-loop vendingdevices and the like may be emulated in the same manner. Module 1902implants a peripheral state and/or status (e.g., state and/or status ofemulated device 1604) into VMC 1609 such that VMC 1609 enables theactuation of product dispensers that will in turn deliver a vendedproduct. This actuation may be performed by MOB emulation as shown inelement 2003 or, for example, it may be an additional emulation thatsimulates the pressing of a physical button such that VMC 1609 senses anormal product selection event. In either case, the combination of theemulation of currency acceptance and the simulation of pressing of aselection button enables VMC 1609 (or an equivalentcontroller/processor) (element 2004) to actuate the physical device(s)(e.g., servo motors, locking mechanisms, and the like) that are nativeto the VM (e.g., element 1604) and product is dispensed (element 2006)to consumer 105. Conventional VMC 1609 may communicate successfulproduct dispensing (element 2007) back to module 1610, which relays orotherwise indicates success (element 2008) to application 104.Application 104 acknowledges the transaction to consumer 105 (element2009) and then proceeds to the normal post-sale processing as describedin FIG. 6. After completion, all devices enter default state.

An embodiment of the invention includes a vending system comprising aproximity detection module, a wireless communications module, a MOBinterface, a device emulation module, and at least one storage mediumhaving instructions stored thereon for causing the system to communicateMOB-level emulation of a state of at least one of a physical coinacceptor device, a bill acceptor, and RFIO reader to a VMC.

Thus, various embodiments are described herein and those embodimentsprovide various advantages.

An embodiment includes a distributed network of Vending/Point of Salesmachines consisting of a simple VM containing minimal control logicwhere some or all business intelligence (e.g., inventory management,sales recording, monetary processing and change/refund) are not presentin the VM.

An embodiment includes a distributed network of Vending/Point of Salesmachines consisting of a simple VM containing a control system where thenon intelligent VM is under the direct control of a mobile computingnode application as well as an internet resident server application.

An embodiment includes a distributed network of Vending/Point of Salesmachines consisting of a simple VM with no local user interface.

An embodiment includes a distributed network of Vending/Point of Salesmachines consisting of a simple VM containing a vending system where alluser interaction and experience takes place through Ul elementscontained within the mobile computing node application.

An embodiment includes a distributed network of Vending/Point of Salesmachines consisting of a simple VM where machine sales and productinventory control are not managed locally and autonomously by themachine. Instead, all machine aspects are controlled by the combinationof a mobile computing node application and a cloud-based serverapplication.

An embodiment includes a distributed network of Vending/Point of Salesmachines consisting of a simple VM containing no additionalcommunications systems beyond a single a BLE communications functionused in both secure and insecure modes to communicate with the mobilecomputing node application.

An embodiment includes a distributed network of Vending/Point of Salesmachines consisting of a simple VM that uses the 3G/4G/Wi-Fi dataconnection of the computing node (e.g., Smartphone) to transport allmachine and application related information and alerts.

An embodiment includes a distributed network of Vending/Point of Salesmachines incorporating the queueing of a variety of collectedinformation by a remote point of sales terminal in anticipation of theproximity of a cooperating mobile computing node application wherebyproximity is detected and the queued information is relayed from aremote PoS to the computing node and then from the computing node to aninternet resident data collection service.

An embodiment includes a distributed network of Vending/Point of Salesmachines incorporating the queueing of information by a centralapplication or service intended for delivery to an unconnected remotePoS device in anticipation of the proximity with a cooperating mobilecomputing node application whereby proximity is detected and theinformation is relayed from the central service to the mobile computingnode and then from the mobile computing node to the remote PoS device.

An embodiment includes a distributed network of Vending/Point of Salesmachines incorporating an online payment system under the control of thecomputing node (e.g., Smartphone) application to authorize and reconcilesales.

An embodiment includes a distributed network of Vending/Point of Salesmachines incorporating a cloud based server maintaining all sales,inventory, alert, exception information for both individual machines asthe aggregated network.

An embodiment includes a distributed network of Vending/Point of Salesmachines incorporating an interactive console displaying status andcondition of all business and network operations related information.

An embodiment includes a distributed network of Vending/Point of Salesmachines where direct brand to user marketing is facilitated during thesales transaction via the combination and coordination of user profile,location, preference, and the like.

An embodiment includes a distributed network of Vending/Point of Salesmachines incorporating a system conversion of virtual goods intophysical goods by allowing for delivery of physical goods based uponproximity to the nearest VM or other preferable criteria related to aremote delivery terminal.

An embodiment includes a distributed network of Vending/Point of Salesmachines where an individual may make a gift to another individualregardless of the physical locations of each. The gift giver may utilizea mobile application in concert with an enabled PoS terminal or thegiver may use a standard web accessible application. The gift receiverwill use the smart phone application and based upon nearest proximity orsome other preferable criteria, will be guided to a device that providesthe gift in a remote location.

An embodiment includes a distributed network of Vending/Point of Salesmachines incorporating a system allowing for “gamification” of vendingwhere physical goods are “won” during the course of a defined andprogrammed user activity. This system may be an augmentation to existingcomputing node (e.g., Smartphone) games and applications as a system ofreward for gameplay or other desired user behavior.

An embodiment includes a distributed network of Vending/Point of Salesmachines incorporating a system where a traditional VM comprised of aVMC, an MOB peripheral bus, and traditional currency acceptors may beretro-fitted with the wireless sales and product offering systemdescribed herein.

Embodiments (e.g., elements 103, 104, 102) discussed herein may utilizea system such as the system of FIG. 17, discussed below. In fact,embodiments may be used in many different types of systems. For example,in one embodiment a communication device can be arranged to perform thevarious methods and techniques described herein. Of course, the scope ofthe present invention is not limited to a communication device, andinstead other embodiments can be directed to other types of apparatusfor processing instructions.

Program instructions may be used to cause a general-purpose orspecial-purpose processing system that is programmed with theinstructions to perform the operations described herein. Alternatively,the operations may be performed by specific hardware components thatcontain hardwired logic for performing the operations, or by anycombination of programmed computer components and custom hardwarecomponents. The methods described herein may be provided as (a) acomputer program product that may include one or more machine readablemedia having stored thereon instructions that may be used to program aprocessing system or other electronic device to perform the methods or(b) at least one storage medium having instructions stored thereon forcausing a system to perform the methods. The term “machine readablemedium” or “storage medium” used herein shall include any medium that iscapable of storing or encoding a sequence of instructions (transitorymedia, including signals, or non-transitory media) for execution by themachine and that cause the machine to perform any one of the methodsdescribed herein. The term “machine readable medium” or “storage medium”shall accordingly include, but not be limited to, memories such assolid-state memories, optical and magnetic disks, read-only memory(ROM), programmable ROM (PROM), erasable PROM (EPROM), electricallyEPROM (EEPROM), a disk drive, a floppy disk, a compact disk ROM(CD-ROM), a digital versatile disk (DVD), flash memory, amagneto-optical disk, as well as more exotic mediums such asmachine-accessible biological state preserving or signal preservingstorage. A medium may include any mechanism for storing, transmitting,or receiving information in a form readable by a machine, and the mediummay include a medium through which the program code may pass, such asantennas, optical fibers, communications interfaces, and the like.Program code may be transmitted in the form of packets, serial data,parallel data, and the like, and may be used in a compressed orencrypted format. Furthermore, it is common in the art to speak ofsoftware, in one form or another (e.g., program, procedure, process,application, module, logic, and so on) as taking an action or causing aresult. Such expressions are merely a shorthand way of stating that theexecution of the software by a processing system causes the processor toperform an action or produce a result.

Referring now to FIG. 17, shown is a block diagram of a systemembodiment 1000 in accordance with an embodiment of the presentinvention. System 1000 may be included in, for example, a computing nodesuch as a cellular phone, Smartphone, tablet, Ultrabook®, notebook,laptop, personal digital assistant, and mobile processor based platform.

Shown is a multiprocessor system 1000 that includes a first processingelement 1070 and a second processing element 1080. While two processingelements 1070 and 1080 are shown, it is to be understood that anembodiment of system 1000 may also include only one such processingelement. System 1000 is illustrated as a point-to-point interconnectsystem, wherein the first processing element 1070 and second processingelement 1080 are coupled via a point-to-point interconnect 1050. Itshould be understood that any or all of the interconnects illustratedmay be implemented as a multi-drop bus rather than point-to-pointinterconnect. As shown, each of processing elements 1070 and 1080 may bemulticore processors, including first and second processor cores (i.e.,processor cores 1074 a and 1074 b and processor cores 1084 a and 1084b). Such cores 1074, 1074 b, 1084 a, 1084 b may be configured to executeinstruction code in a manner similar to methods discussed herein.

Each processing element 1070, 1080 may include at least one sharedcache. The shared cache may store data (e.g., instructions) that areutilized by one or more components of the processor, such as the cores1074 a, 1074 b and 1084 a, 1084 b, respectively. For example, the sharedcache may locally cache data stored in a memory 1032, 1034 for fasteraccess by components of the processor. In one or more embodiments, theshared cache may include one or more mid-level caches, such as level 2(L2), level 3 (L3), level 4 (L4), or other levels of cache, a last levelcache (LLC), and/or combinations thereof.

While shown with only two processing elements 1070, 1080, it is to beunderstood that the scope of the present invention is not so limited. Inother embodiments, one or more additional processing elements may bepresent in a given processor. Alternatively, one or more of processingelements 1070, 1080 may be an element other than a processor, such as anaccelerator or a field programmable gate array. For example, additionalprocessing element(s) may include additional processors(s) that are thesame as a first processor 1070, additional processor(s) that areheterogeneous or asymmetric to first processor 1070, accelerators (suchas, e.g., graphics accelerators or digital signal processing (DSP)units), field programmable gate arrays, or any other processing element.There can be a variety of differences between the processing elements1070, 1080 in terms of a spectrum of metrics of merit includingarchitectural, microarchitectural, thermal, power consumptioncharacteristics, and the like. These differences may effectivelymanifest themselves as asymmetry and heterogeneity amongst theprocessing elements 1070, 1080. For at least one embodiment, the variousprocessing elements 1070, 1080 may reside in the same die package.

First processing element 1070 may further include memory controllerlogic (MC) 1072 and point-to-point (P-P) interfaces 1076 and 1078.Similarly, second processing element 1080 may include a MC 1082 and P-Pinterfaces 1086 and 1088. MC's 1072 and 1082 couple the processors torespective memories, namely a memory 1032 and a memory 1034, which maybe portions of main memory locally attached to the respectiveprocessors. While MC logic 1072 and 1082 is illustrated as integratedinto the processing elements 1070, 1080, for alternative embodiments theMC logic may be discreet logic outside the processing elements 1070,1080 rather than integrated therein.

First processing element 1070 and second processing element 1080 may becoupled to an I/O subsystem 1090 via P-P interfaces 1076, 1086 via P-Pinterconnects 1062, 10104, respectively. As shown, I/O subsystem 1090includes P p interfaces 1094 and 1098. Furthermore, I/O subsystem 1090includes an interface 1092 to couple I/O subsystem 1090 with a highperformance graphics engine 1038. In one embodiment, a bus may be usedto couple graphics engine 1038 to I/O subsystem 1090. Alternately, apoint-to-point interconnect 1039 may couple these components.

In turn, I/O subsystem 1090 may be coupled to a first bus 10110 via aninterface 1096. In one embodiment, first bus 10110 may be a PeripheralComponent Interconnect (PCI) bus, or a bus such as a PCI Express bus oranother third generation I/O interconnect bus, although the scope of thepresent invention is not so limited.

As shown, various I/O devices 1014, 1024 may be coupled to first bus10110, along with a bus bridge 1018 which may couple first bus 10110 toa second bus 1020. In one embodiment, second bus 1020 may be a low pincount (LPG) bus. Various devices may be coupled to second bus 1020including, for example, a keyboard/mouse 1022, communication device(s)1026 (which may in turn be in communication with a computer network),and a data storage unit 1028 such as a disk drive or other mass storagedevice which may include code 1030, in one embodiment. The code 1030 mayinclude instructions for performing embodiments of one or more of themethods described above. Further, an audio I/O 1024 may be coupled tosecond bus 1020.

Note that other embodiments are contemplated. For example, instead ofthe point-to-point architecture shown, a system may implement amulti-drop bus or another such communication topology. Also, theelements of FIG. 17 may alternatively be partitioned using more or fewerintegrated chips than shown in the FIG. 17.

A module as used herein refers to any hardware, software, firmware, or acombination thereof. Often module boundaries that are illustrated asseparate commonly vary and potentially overlap. For example, a first anda second module may share hardware, software, firmware, or a combinationthereof, while potentially retaining some independent hardware,software, or firmware. In one embodiment, use of the term logic includeshardware, such as transistors, registers, or other hardware, such asprogrammable logic devices. However, in another embodiment, logic alsoincludes software or code integrated with hardware, such as firmware ormicro-code.

An embodiment includes a product purchase protocol. In such a protocolvending device 103 performs the following: 1) Beacon detects nearbypotential customer, 4) BLE-Mobile Device connection enabled, 5) Vendingbox 103 Sends Seed, 20) Vending box 103 receives Key, 21) Vending box103 deciphers Key and confirms if applicable, 22) Vending box 103 dropspurchased products, 23) Sensor confirms product was delivered, 24)Vending box 103 sends successful delivery confirmation. In such aprotocol mobile application 104 performs the following: 2) Beacontriggers a welcome screen (this element (2) would take place afterelement (1) immediately above and before element (3) immediately belowand so on for the description of this embodiment), 3) Customer acceptsinvitation (triggers connect sequence), 6) Sends seed number to vendingserver 102 as well as customer identity, 9) Mobile device/application104 receives and displays product availability and prices, 10) Userselects product to purchase and quantity, 12) User selects paymentmethod (Vending box 103 Rewards, PayPal, etc.), 13) User logs in topayment method and approves purchase, 18) Mobile Device application 104receives Key, 19) Mobile Device application sends Key to Vending box103, 25) Mobile Device receives successful delivery confirmation andnotifies vending server 102. In such a protocol payment service 101performs the following: 14) server 102 charges customer through PayPal(or equivalent) API. In such a protocol server 102 performs thefollowing: 7) server 102 receives Seed Number from Vending box 103, 8)sends that Vending box's product availability and prices, 11) receivesproduct selection and quantity from Mobile Device, 15) gets confirmationof transaction, 16) generates product drop key using the Seed Number asinput and including product selection and quantity, 17) sends MobileDevice application 104 the temporal Key, 26) receives successfuldelivery confirmation and logs the transaction, 27) decides whether toask client for feedback.

An embodiment includes an incident reporting protocol. In such aprotocol vending device 103 performs the following: 1) Vending box 103detects incident (power out, accelerometer triggered, etc.), 2) Eventgets flagged and timer starts counting, 3) Beacon will notify passing byclients about incident and opportunity to report, 6) Vending box 103sends Flags information (time, event, # of missed sales and the like,all of which may be formatted in DEX appropriate formatting) to MobileDevice application 104. In such a protocol mobile application 104performs the following: 4) Passing by client gets notified vendingmachine wants to report information (this element (4) would take placeafter element (3) immediately above and before element (5) immediatelybelow and so on for the description of this embodiment), 5) Clientdecides to report, 7) receives Flags information, 8) sends informationalong with Client Identity to the VB Cloud, 13) displays granted reward.In such a protocol server 102 performs the following: 9) receivesincident information, 10) choose to reward the report, 11) rewards theclient and logs the reward, 12) VB cloud notifies the Mobile Deviceabout the granted reward. In such a protocol operator 100 performs thefollowing: 14) server 102 immediately notifies Vending Operator 100about incident.

An embodiment includes a product price change protocol. In such aprotocol vending application 104 performs the following: 5) inquiresproduct availability and price list for a specific Vending box 103, 7)receives updated product availability and price list. In such a protocolserver 102 performs the following: 3) receive change request, 4) updateprice list or product availability for that Unique ID, 6) send updatedproduct availability and price list. In such a protocol vending operator10 performs the following: 1) decides to change product pricing oravailability, 2) sends request to server 102 with newprices/availability and Vending box 103 Unique ID. The numbers (e.g., 1)and 2) and the like should be interpreted as indicating a temporal orderfor execution of actions.

An embodiment includes a vending operator request protocol. In such aprotocol vending operator 100 performs the following: 1) Vending box 103notifies server 102 about a specific request (for example, they want toknow where a vending machine is located), 10) Vending box operator 100gets notified with the latest Vending box 103 coordinates. In such aprotocol server 102 performs the following: 2) receives request andcreates a flag associated with a unique id, 5) receives inquiry andfinds out the Vending box 103 is flagged, 6) sends customer anopportunity to participate along with product availability and prices ifapplicable, 9) receives coordinates information, logs it and notifiesVending box 103 operator, 11) chose to reward customer, 12) logs thereward and notifies customer. In such a protocol application 104performs the following: 3) gets invited through beacons to make apurchase, 4) sends the unique ID along with the customer ID to the VBcloud to inquire product availability and prices, 7) Customer chases toparticipate and report current coordinates, 8) Customer tags currentVending box 103 coordinates using location services and sends thatinformation to the VB cloud, 13) Customer receives notification of thereward received. The numbers (e.g., 1) and 2) and the like should beinterpreted as indicating a temporal order for execution of actions.

Example 1a includes a system comprising a first vending machine (VM),the first VM comprising: an exterior chassis having a top, bottom,backside, front side, and first and second sides that couple the frontside to the backside; a wireless short range communications nodeincluded in the chassis; and an actuator coupled to a compartmentincluded in the chassis; wherein (a) the actuator provides a vended goodto an aperture in the front side upon actuation, and (b) each of thefront side and first and second sides includes no physicallymanipulatable consumer interface with which the consumer can control thefirst VM via direct physical manipulation of the first VM.

In an example the chassis may resemble a mere box without thetraditional physical consumer interface (e.g., buttons to select a soda,a currency collector, a touchscreen, and the like) cluttering the frontside of the vending box. From the consumer's perspective the vending boxmay resemble a simple cooler in some embodiments; albeit one thatproduces a vended good or article via an aperture. Of course, the vendedgood need not be a soda or food article but may include post-mixofferings and the like. The actuator may provide a vended good (e.g., acup in which a beverage is eventually dispensed) from an interiorcompartment to the aperture.

In example 2a the subject matter of Example 1a can optionally includewherein each of the front side and first and second sides includes noelectronic display and the first VM includes none of the groupcomprising a multi-drop bus (MOB), a coin collector, and a magnetic cardreader.

Thus, an embodiment provides a VM wherein much of the traditionalintelligence/logic included in a traditional VM (along with thecorresponding costs) are now more efficiently distributed across amobile computing node and cloud based computing node. Such an embodimentis also more energy efficient considering the lack of power drawingelements such as electronic displays.

In example 3a the subject matter of Examples 1a-2a can optionallyinclude wherein each of the front side and first and second sidesincluding no physically manipulatable consumer interface with which theconsumer can control the first VM via direct physical manipulation ofthe first VM includes each of the front side and first and second sidesincluding no physical buttons nor interactive electronic display withwhich the consumer can control the first VM via direct physicalmanipulation of the first VM.

Examples of a “physically manipulatable consumer interface with whichthe consumer can control the first VM via direct physical manipulationof the first VM” include a touchscreen or mechanical buttons whereby auser selects a product that, after payment, is delivered to the user. Anembodiment is a simple a unit that merely discovers a mobile computingnode and possibly allows for key exchange between the mobile node and aVM but which still does not amount to a Ul whereby a user “can controlthe first VM via direct physical manipulation of the first VM”.

In example 4a the subject matter of Examples 1a-3a can optionallyinclude a second VM; and at least one remote computing node comprisingat least one machine readable medium storing first inventory datacorresponding to the first VM and second inventory data corresponding tothe second VM; wherein neither of the first and second VMs includememory storing inventory data related to either of the first and secondinventory data.

For example, an embodiment of a VM may forego memory and relatedequipment for tracking its inventory considering that can now be handledby, for example, a cloud based server or other such computing node.

In example 5a the subject matter of Examples 1a-4a can optionallyinclude wherein the at least one remote computing node comprises atleast one machine readable medium having instructions stored thereon forcausing the at least one remote computing node to: communicate with atleast one mobile computing node; store first and second datarespectively corresponding to the first and second VMs; communicate thefirst and second data respectively to the first and second VMs, via theat least one mobile computing node, in response to communicating withthe at least one mobile computing node

For example, a server node may include a queue having updatedadvertising programming for a display (but not a Ul) on the VM thatmerely displays advertising. The advertising programming may be includedin the first and second data. This data may be conveyed to the VMs via aSmartphone over a period of time. For example, on a Monday the firstdata could be transferred from on Smartphone to the first VM and on aWednesday the second data could be transferred from a differentSmartphone to the second VM.

In example 6a the subject matter of Examples 1a-5a can optionallyinclude wherein the first VM includes at least one machine readablemedium having instructions stored thereon for causing the first VM todiscover at least one mobile computing node and communicate with the atleast one mobile computing node; wherein the at least one remotecomputing node comprises at least one storage medium having instructionsstored thereon for causing the at least one remote computing node tocommunicate an actuation command to the first VM, via the at least onemobile computing node, to actuate the actuator to provide the vendedgood to the aperture.

In example 7a the subject matter of Examples 1a-6a can optionallyinclude wherein the at least one remote computing node comprises atleast one storage medium having instructions stored thereon for causingthe at least one remote computing node to: establish a firstcommunication session with at least one mobile computing node; andcommunicate the first and second inventory data to the at least onecomputing node in response to establishing the first communicationsession and before the first communication session ends.

In an example a user may receive first and second inventory data forfirst and second VMs with which the user's Smartphone has beendiscovered. The user may then flip or slide the Ul on his Smartphonefrom one listing of inventor for the first VM to another listing for asecond VM so the user can quickly see his total number of options.

FIG. 18 includes an embodiment of a UI and a process for viewinginventory of disparate VMs. At element 1801 BLE detects nearby VMs andgets their respective information from server 102. The Ul of element1801 is for VM #198 and it is one out of 5 machines nearby as thereference dots in the bottom part of the screen show. At element 1802,the user may want a product not listed for VM #198 so the user “swipes”to the next VM (that has been discovered) to see what products areavailable. At element 1803 VM #206 appears with its current productavailability. There are more products to choose from and the user is nowinterested in purchasing “product 7”, which could be a soda, coffee,article of clothing, electronic device, QR code with encoded value, andthe like. At element 1804, when the user clicks on the product, aprivate connection from the user's mobile node to machine #206 isenabled through BLE. At element 1805 information on the selected productis downloaded from the server 102 and displayed on the user's devicealong with price and the user's current balance in an account tied tothe vending operator 100. At element 1806 the user chooses to purchasethe product or cancel and go back to the previous screen. The userchooses to pay with his current balance or with a payment account likePayPal®. After the transaction, the product is provided to the consumer.

In example 8a the subject matter of Examples 1a-7a can optionallyinclude wherein the first VM includes at least one machine readablemedium having instructions stored thereon for causing the first VM toestablish a first communication session with at least one mobilecomputing node and later terminate the first communication session;wherein the second VM includes at least one machine readable mediumhaving instructions stored thereon for causing the second VM toestablish a second communication session with the at least one mobilecomputing node and later terminate the second communication session;wherein at least a portion of the first and second communicationsessions overlap one another.

In an embodiment the first and second VMs can simultaneously be inDevice Discovered mode by a single mobile node.

In example 9a the subject matter of Examples 1a-8a can optionallyinclude wherein the at least one remote computing node comprises atleast one storage medium having instructions stored thereon for causingthe at least one remote computing node to: establish a firstcommunication session with at least one mobile computing node;communicate the first and second inventory data to the at least onecomputing node in response to establishing the first communicationsession and before the first communication session ends; and in responseto a user initiated selection of a product included in the firstinventory data, providing directions to the user regarding a physicallocation of the first VM; wherein the user initiated selection iscommunicated from the at least one mobile computing node.

In an embodiment a user may choose a product from one VM but not anotherand then get instructions on how to get to the VM having the product sheor he desires.

In example 10a the subject matter of Examples 1a-9a can optionallyinclude at least one remote computing node including at least onestorage medium having instructions stored thereon for causing the atleast one remote computing node to: communicate with a first mobilecomputing node to determine the first mobile computing node desires topurchase a credit for a second computing node; award the credit to thesecond computing node in response to communicating with the first mobilecomputing node to determine the first mobile computing node desires topurchase a credit for a second computing node; communicate with thesecond mobile computing node to indicate the credit was awarded to thesecond computing node; and communicate an actuation command to the firstVM, via the second mobile computing node, based on the credit beingawarded to the second computing node.

In an embodiment a user, such as a child's parent using the parent'sSmartphone, can gift a credit to a child at school. The child'sSmartphone may be credited and the child may then obtain a vendedproduct.

In example 11b the subject matter of Examples 1a-10a can optionallyinclude wherein the credit corresponds to a first product included ininventory of the first VM but not a second product included in inventoryof the first VM. Thus, the child's parent can target the credit towards,for example, a first product having lower sugar content than that of thesecond product.

In example 11c the subject matter of Examples 1a-10a can optionallyinclude a second VM, wherein the credit corresponds to the first VM, butnot the second VM, and is redeemable at the first VM but not the secondVM. Thus, the gift may direct the recipient to a VM that is infrequentlyused in hopes of generating new business at the location of the VM. Forexample, the user may typically frequent the second VM (which thevending operator has a difficult time keeping fully stocked or which thevending operator may have to pay a higher commission to a landlord for)and the operator may wish to redirect the user to the first VM. Thegifter may be able to select from a listing of VMs that is posted on theinternet. The gift may include keying material specific to an ID of thefirst VM (e.g., encrypted with a public key that corresponds to theprivate key of the first VM) but not the second VM thereby limiting theaward to usefulness with the first VM.

In example 11a the subject matter of Examples 1a-10a can optionallyinclude at least one remote computing node at least one storage mediumhaving instructions stored thereon for causing the at least one remotecomputing node to: communicate with at least one of an additional remotecomputing node and a first mobile computing node to determine the firstmobile computing node should be awarded a credit in response to a userhaving been awarded a prize in a game; award the credit to the firstmobile computing node in response to communicating with at least one ofthe additional remote computing node and the first mobile computingnode; communicate with the first mobile computing node to indicate thecredit was awarded to the first computing node; and communicate anactuation command to the first VM, via the first mobile computing node,based on the credit being awarded to the first computing node.

In an embodiment the award may be redeemable at a specific VM. The VMmay be located at a certain location. For example, a grocery store chainmay sponsor the award of the gift/credit obtained through playing thegame. The grocery store chain may have a particular store or stores thathave VMs with unique ids, all of which will receive the award (which mayinclude keying material only compatible with the keys on the designatedVMs). This may incentivize the user to enter one of the grocer'slocations.

In example 12a the subject matter of Examples 1a-11a can optionallyinclude wherein the first VM is included in a storefront wall and theaperture is exposed directly to an area outside a store that includesthe storefront wall.

An embodiment according to this example would allow a storefront on abusy street to still vend products late into the evening for “windowshoppers”. For example, considering the simplicity and low cost natureof many vending box solutions described herein, a merchant could includea series of the vending boxes in his or her storefront wall (e.g., wallbeing made of bricks, glass (i.e., window), and the like). Each vendingbox may have a single compartment with a single lock that the actuatorof the VM actuates to unlock the lock and provide the consumer with aproduct.

As another example, a coffee house may receive orders in advance forcoffees made to order. Such an order may come from an office worker thatworks several blocks from the coffee house. The worker may submit hisorder (e.g., possibly over the internet or by voice) and then begin histransit to the coffee house. The coffee house may make the coffee duringhis transit and place the coffee in a vending box that corresponds witha receipt and credit the office worker has on his phone (received from acloud based node as described above). The office worker's Smartphone,watch, glasses, and the like may then discover the appropriate vendingbox, open the vending box using an actuation command received from theserver, obtain his coffee, all without entering the congested coffeehouse and dealing with long waits for coffee. Of course the vending boxneed not be in the storefront wall for all embodiments.

In example 13a the subject matter of Examples 1a-12a can optionallyinclude at least one remote computing node comprising at least onemachine readable medium storing first inventory data corresponding toone or more products available via the first VM; wherein the first VMincludes at least one machine readable medium having instructions storedthereon for causing the first VM to discover at least one mobilecomputing node and communicate with the at least one mobile computingnode; wherein the at least one remote computing node comprises at leastone storage medium having instructions stored thereon for causing the atleast one remote computing node to: (a) receive a selectioncommunication, corresponding to a user's selection of the one or moreproducts, from the at least one mobile computing node, and (b) inresponse to receiving the selection communication, communicate anactuation command to the first VM, via the at least one mobile computingnode, to actuate the actuator to deliver the vended good to theaperture.

In example 14a the subject matter of Examples 1a-13a can optionallyinclude wherein the at least one remote computing node comprises atleast one storage medium having instructions stored thereon for causingthe at least one remote computing node to communicate an ordercorresponding to a user's selection of the one or more products to anadditional computing node via a non-wireless short range communication.

In an embodiment the order may be sent via the internet to a node in,for example, a coffee shop such that coffee shop vendor can beginpreparing the coffee before any discovery takes place between a user'smobile computing node and a vending box.

In example 15a the subject matter of Examples 13a-14a can optionallyinclude wherein the wireless short range communications node isconfigured for at least one of Bluetooth and near field communications(NFC) and the at least one remote computing node comprises a server.

Example 1b includes at least one storage medium having instructionsstored thereon for causing a first mobile computing node to: communicatewith at least one remote computing node to indicate the first mobilecomputing node desires to purchase a first credit for a second computingnode; receive a second credit from at least one of the second computingnode and a third computing node in response to the at least one of thesecond computing node and a third computing node communicating with theat least one remote computing node to indicate the at least one of thesecond computing node and a third computing node desired to purchase thesecond credit for the first mobile computing node; receive acommunication from the at least one remote computing node indicating thesecond credit was awarded to the first mobile computing node; andcommunicate an actuation command to a first vending machine (VM) basedon the second credit. Such a first mobile computing node may include,for example, the node including application 104.

In example 2b the subject matter of Example 1b can optionally includewherein the second credit corresponds to a first product included ininventory of the first VM but not a second product included in inventoryof the first VM.

In example 3b the subject matter of Examples 1b-2b can optionallyinclude wherein the second credit corresponds to the first VM, but not asecond VM, and is redeemable at the first VM but not the second VM.

In example 4b the subject matter of Examples 1b-3b can optionallyinclude instructions to cause the first mobile computing node to:establish a first communication session with the at least one remotecomputing node; and receive first and second inventory data,corresponding to the first VM and a second VM, from the at least oneremote computing node in response to establishing the firstcommunication session and before the first communication session ends.

In example 5b the subject matter of Examples 1b-3b can optionallyinclude instructions to cause the first mobile computing node to:establish a first communication session with the at least one remotecomputing node; and receive first and second inventory data,corresponding to the first VM and a second VM, from the at least oneremote computing node in response to establishing the firstcommunication session and before the first communication session ends;communicate a user initiated selection of a product included in thefirst inventory data to the at least one remote computing node; andreceive directions regarding a physical location of the first VM, butnot the second VM, in response to communicating the user initiatedselection to the at least one remote computing node.

Example 1c includes a vending system comprising: a proximity detectionmodule to detect proximity of a mobile computing node within 100 metersof the vending system; a wireless communications module to wirelesslycommunicate with the mobile computing node; a device emulation module; amulti-drop bus (MOB) interface to couple the device emulation module toa MOB; and at least one storage medium having instructions storedthereon for causing the system to communicate a first emulation of afirst peripheral state to a vending machine controller (VMC); whereinthe first peripheral state corresponds to a state of at least one of aphysical coin acceptor device, a bill acceptor, a credit card reader, anear field communication (NFC) reader, and a radiofrequencyidentification (RFIO) reader. In other embodiments the proximitydetection module detects proximity of a mobile computing node within 1em, 1 m, 10 m, 50 m, 100 m, 250 m, 400 m, 500 m and the like. Otherembodiments are not limited to a MOB and may cooperate with other bussystems. Other embodiments are not limited to a VMC and may cooperatewith other controller systems. In an embodiment the first peripheralstate corresponds to a state of at various forms of systems that conveyfinancial information to a VM (e.g., cashless payment systems) and isnot limited to a physical coin acceptor device, a bill acceptor, acredit card reader, a near field communication (NFC) reader, and aradiofrequency identification (RFID) reader.

In example 2c the subject matter of Example 1c and can optionallyinclude wherein the at least one medium comprises instructions to causethe system to: receive a first actuation instruction from the mobilecomputing node; and in response to receiving the first actuationinstruction, communicate a second actuation instruction to the VMC;wherein the first actuation instruction corresponds to an authorizationof a sale of a product, and the second actuation instruction isconfigured to cause the VMC to issue a third actuation instruction tovend the product from a vending machine, coupled to the vending system,to a user; wherein the third actuation instruction enables mechanicalactuation of a product dispenser to actuate a mechanical system tocommunicate the product to the user. In an embodiment the “firstactuation instruction” is not to be construed as to indicate the firstactuation instruction necessarily requires a direct actuation commandbut may instead include indirection actuation such as a general approvalinstruction that begets a series of instructions, one of whicheventually actuates a system (e.g., a lock or gear) to operate and venda product. The same is true for the “second” and “third” actuationcommands, however in some embodiments some or all of the first, second,and third actuation commands does include a direct actuation command.

In example 3c the subject matter of Examples 1c-2c can optionallyinclude wherein (a) the second actuation instruction corresponds to aninstruction formatted for the VMC and indicating a threshold level ofcredit exists to vend the product, and (c) the mechanical systemincludes at least one of a mechanical lock and a servo motor. By“formatted for the VMC” this may entail, in an embodiment, compliancewith an adopted standard or specification for communication with theVMC. The “threshold level of credit” may indicate a sufficient amount ofcoins or bills or credit (via a credit card or PayPal®) has beenreceived.

An embodiment may include a remote node, such as a server 102. Anembodiment may include a software as a service (SAAS).

Example 1d includes at least one machine readable medium havinginstructions stored thereon for causing at least one remote computingnode to: communicate with at least one mobile computing node; storefirst and second data respectively corresponding to a first vendingmachine (VM) and a second VM; communicate the first and second datarespectively to the first and second VMs, via the at least one mobilecomputing node, in response to communicating with the at least onemobile computing node.

In example 2d the subject matter of Example 1d can optionally includethe at least one machine readable medium having instructions storedthereon for causing at least one remote computing node to communicate anactuation command to the first VM, via the at least one mobile computingnode, to actuate the actuator to provide the vended good to theaperture.

In example 3d the subject matter of Examples 1-2d can optionally includethe at least one machine readable medium having instructions storedthereon for causing at least one remote computing node to: establish afirst communication session with at least one mobile computing node; andcommunicate first and second inventory data, corresponding to the firstand second VMs, to the at least one remote computing node in response toestablishing the first communication session and before the firstcommunication session ends.

In example 4d the subject matter of Examples 1-3d can optionally includethe at least one machine readable medium having instructions storedthereon for causing at least one remote computing node to: establish afirst communication session with at least one mobile computing node;communicate the first and second inventory data to the at least onecomputing node in response to establishing the first communicationsession and before the first communication session ends; and in responseto a user initiated selection of a product included in first inventorydata corresponding to the first VM, provide directions to the userregarding a physical location of the first VM; wherein the userinitiated selection is communicated from the at least one mobilecomputing node.

Example 1e includes at least one machine readable medium havinginstructions stored thereon for causing at least one remote computingnode to: communicate with a first mobile computing node to determine thefirst mobile computing node desires to purchase a credit for a secondcomputing node; award the credit to the second computing node inresponse to communicating with the first mobile computing node todetermine the first mobile computing node desires to purchase a creditfor a second computing node; communicate with the second mobilecomputing node to indicate the credit was awarded to the secondcomputing node; and communicate an actuation command to the first VM,via the second mobile computing node, based on the credit being awardedto the second computing node. In an example, the credit corresponds to afirst product included in inventory of the first VM but not a secondproduct included in inventory of the first VM. In an example the creditcorresponds to the first VM, but not a second VM, and is redeemable atthe first VM but not the second VM.

Example 1f includes at least one machine readable medium havinginstructions stored thereon for causing at least one remote computingnode to: communicate with at least one of an additional remote computingnode and a first mobile computing node to determine the first mobilecomputing node should be awarded a credit in response to a user havingbeen awarded a prize in a game; award the credit to the first mobilecomputing node in response to communicating with at least one of theadditional remote computing node and the first mobile computing node;communicate with the first mobile computing node to indicate the creditwas awarded to the first computing node; and communicate an actuationcommand to the first VM, via the first mobile computing node, based onthe credit being awarded to the first computing node.

Example 1g includes at least one machine readable medium havinginstructions stored thereon for causing at least one remote computingnode to: store first inventory data corresponding to one or moreproducts available via a first vending machine (VM); receive a selectioncommunication, corresponding to a user's selection of the one or moreproducts, from the at least one mobile computing node; and in responseto receiving the selection communication, communicate an actuate theactuator to deliver the vended good to the aperture. In an example theinstructions may cause at least one remote computing node to communicatean order corresponding to a user's selection of the one or more productsto an additional computing node via a non-wireless short rangecommunication.

An additional example includes a system comprising a first vendingmachine (VM), the first VM comprising: an exterior chassis having a top,bottom, backside, front side, and first and second sides that couple thefront side to the backside; a means for wireless short rangecommunications included in the chassis; and an actuator means coupled toa compartment included in the chassis; wherein (a) the actuator meansincludes means for providing a vended good to an aperture in the frontside upon actuation, and (b) each of the front side and first and secondsides includes no physically manipulatable consumer interface with whichthe consumer can control the first VM via direct physical manipulationof the first VM.

The additional example may include wherein each of the front side andfirst and second sides includes no electronic display means and thefirst VM includes none of the group comprising a multi-drop bus (MOB), acoin collector, and a magnetic card reader.

The additional example may include wherein each of the front side andfirst and second sides including no physically manipulatable consumerinterface with which the consumer can control the first VM via directphysical manipulation of the first VM includes each of the front sideand first and second sides including no physical buttons nor interactiveelectronic display with which the consumer can control the first VM viadirect physical manipulation of the first VM.

The additional example may include a second VM; and at least one remotecomputing node comprising means for storing first inventory datacorresponding to the first VM and second inventory data corresponding tothe second VM; wherein neither of the first and second VMs include meansfor storing inventory data related to either of the first and secondinventory data.

The additional example may include wherein the at least one remotecomputing node comprises means for causing the at least one remotecomputing node to: communicate with at least one mobile computing node;store first and second data respectively corresponding to the first andsecond VMs; communicate the first and second data respectively to thefirst and second VMs, via the at least one mobile computing node, inresponse to communicating with the at least one mobile computing node.

The additional example may include wherein the first VM includes meansfor causing the first VM to discover at least one mobile computing nodeand communicate with the at least one mobile computing node; wherein theat least one remote computing node comprises means for causing the atleast one remote computing node to communicate an actuation command tothe first VM, via the at least one mobile computing node, to actuate theactuator to provide the vended good to the aperture.

The additional example may include wherein the at least one remotecomputing node comprises means for causing the at least one remotecomputing node to: establish a first communication session with at leastone mobile computing node; and communicate the first and secondinventory data to the at least one computing node in response toestablishing the first communication session and before the firstcommunication session ends.

The additional example may include wherein the first VM includes meansfor causing the first VM to establish a first communication session withat least one mobile computing node and later terminate the firstcommunication session; wherein the second VM includes means for causingthe second VM to establish a second communication session with at leastone mobile computing node and later terminate the second communicationsession; wherein at least a portion of the first and secondcommunication sessions overlap one another.

The additional example may include wherein the at least one remotecomputing node comprises means for causing the at least one remotecomputing node to: establish a first communication session with at leastone mobile computing node; communicate the first and second inventorydata to the at least one computing node in response to establishing thefirst communication session and before the first communication sessionends; and in response to a user initiated selection of a productincluded in the first inventory data, provide directions to the userregarding a physical location of the first VM; wherein the userinitiated selection is communicated from the at least one mobilecomputing node.

The additional example may include at least one remote computing nodeincluding means for causing the at least one remote computing node to:communicate with a first mobile computing node to determine the firstmobile computing node desires to purchase a credit for a secondcomputing node; award the credit to the second computing node inresponse to communicating with the first mobile computing node todetermine the first mobile computing node desires to purchase a creditfor a second computing node; communicate with the second mobilecomputing node to indicate the credit was awarded to the secondcomputing node; and communicate an actuation command to the first VM,via the second mobile computing node, based on the credit being awardedto the second computing node.

The additional example may include wherein the credit corresponds to afirst product included in inventory of the first VM but not a secondproduct included in inventory of the first VM.

The additional example may include a second VM, wherein the creditcorresponds to the first VM, but not the second VM, and is redeemable atthe first VM but not the second VM.

The additional example may include at least one remote computing nodeincluding means for causing the at least one remote computing node to:communicate with at least one of an additional remote computing node anda first mobile computing node to determine the first mobile computingnode should be awarded a credit in response to a user having beenawarded a prize in a game; award the credit to the first mobilecomputing node in response to communicating with at least one of theadditional remote computing node and the first mobile computing node;communicate with the first mobile computing node to indicate the creditwas awarded to the first computing node; and communicate an actuationcommand to the first VM, via the first mobile computing node, based onthe credit being awarded to the first computing node.

The additional example may include wherein the first VM is included in astorefront wall and the aperture is exposed directly to an area outsidea store that includes the storefront wall.

The additional example may include at least one remote computing nodecomprising means for storing first inventory data corresponding to oneor more products available via the first VM; wherein the first VMincludes means for causing the first VM to discover at least one mobilecomputing node and communicate with the at least one mobile computingnode; wherein the at least one remote computing node comprises means forcausing the at least one remote computing node to: (a) receive aselection communication, corresponding to a user's selection of the oneor more products, from the at least one mobile computing node, and (b)in response to receiving the selection communication, communicate anactuation command to the first VM, via the at least one mobile computingnode, to actuate the actuator to deliver the vended good to theaperture.

The additional example may include wherein the at least one remotecomputing node comprises means for causing the at least one remotecomputing node to communicate an order corresponding to a user'sselection of the one or more products to an additional computing nodevia a non-wireless short range communication.

The additional example may include wherein the wireless short rangecommunications node is configured for at least one of Bluetooth and nearfield communications (NFC) and the at least one remote computing nodecomprises a server.

While the present invention has been described with respect to a limitednumber of embodiments, those skilled in the art will appreciate numerousmodifications and variations therefrom. It is intended that the appendedclaims cover present invention.

What is claimed is:
 1. A system comprising: at least one non-transitory,physical, machine-readable medium; at least one processor coupled to thenon-transitory, physical, machine-readable medium; wherein (a) inresponse to communications between at least one telemetry module coupledto at least one of first or second vending machines (VMs), at least oneremote computing user node, and the at least one processor, (b) the atleast one processor is to: (b)(i) access first inventory datacorresponding to the first VM and second inventory data corresponding tothe second VM; (b)(ii) determine a first actuation command, whichcorresponds to the first VM, to actuate an actuator of the first VM toprovide a first vended good to an aperture included in the first VM,(b)(iii) determine a second actuation command, which corresponds to thesecond VM, to actuate an actuator of the second VM to provide a secondvended good to an aperture included in the second VM; wherein inresponse to determining the first actuation command the at least oneprocessor is to store the first actuation command in the at least onenon-transitory, physical, machine-readable medium; wherein in responseto determining the second actuation command the at least one processoris to store the second actuation command in the at least onenon-transitory, physical, machine-readable medium; wherein neither ofthe first and second VMs include memory storing inventory data relatedto either of the first and second inventory data.